/*
es6语法中的 数值扩展
1.新增方法
2.方法调整
*/
{
  console.log(0b1111111); //127  0b/0B二进制转换成十进制
  console.log(0o5322); //2270  0o八进制转换成十进制
}

{
  // Number.isFinite()用来检查一个数值是否为有限的（finite）。
  console.log('15', Number.isFinite(15)); //true
  console.log('NaN', Number.isFinite(NaN)); //false
  console.log('1/0', Number.isFinite(1 / 0)); //false
  console.log('1/0', Number.isFinite('true' / 0)); //false
  //isNaN()
  console.log('NaN', Number.isNaN(NaN)); //true
  console.log('0', Number.isNaN(0)); //false
  //isInteger()  判断是否是一个整数
  console.log('1.263', Number.isInteger(1.256)); //false
  console.log('25.0', Number.isInteger(25.0)); //true
  console.log('25.00', Number.isInteger(25.00)); //true
  console.log('str', Number.isInteger('str')); //false
  console.log('25', Number.isInteger('25.0')); //false
}

{
  // 用这个方法的时候一定要确保这个参数一定是一个Number类型的对象
  console.log(Number.MAX_SAFE_INTEGER); //9007199254740991 用来表示数字的最大上线
  console.log(Number.MIN_SAFE_INTEGER); //-9007199254740991
  //判断这个数字是不是在这个最大最小范围里面
  console.log('a', Number.isSafeInteger('a')); //false
  console.log('100', Number.isSafeInteger(100)); //true
}

//es5:math.floor()  math.cile()  回到整数
{
  //es6:Math.trunc()这个方法只是取到小数的整数部分
  console.log(4.1,Math.trunc(4.1));//4
  console.log(4.9,Math.trunc(4.9));//4
  console.log(4.55,Math.trunc(4.55));//4
  console.log(4.45,Math.trunc(4.45));//4
}

{
  //Math.sign()用来判断是正负数还是0
  console.log('-5',Math.sign(-5));//-1
  console.log('0',Math.sign(0));//0
  console.log('5',Math.sign(5));//1
  console.log('foo',Math.sign('foo'));//NaN
}

{
    //数字的一个立方根是什么
    console.log('-1',Math.cbrt(-1));//-1
    console.log('8',Math.cbrt(8));//2
}
